home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / gfront11.lha / GUIFront / Developer / Include / libraries / guifront.i < prev   
Encoding:
Text File  |  1994-10-29  |  7.1 KB  |  231 lines

  1.     IFND LIBRARIES_GUIFRONT_I
  2. LIBRARIES_GUIFRONT_I SET 1
  3. *
  4. *    $VER: GUIFront.h 37.3 (29.10.94)
  5. *    Includes Release 37.3
  6. *
  7. *    Assembly header file for GUIFront.
  8. *
  9. *    (C) Copyright 1994 Michael Berg
  10. *        All Rights Reserved
  11. *
  12. * View with TAB=4
  13.  
  14.     IFND EXEC_TYPES_I
  15.     INCLUDE "exec/types.i"
  16.     ENDC
  17.  
  18.     IFND EXEC_LIBRARIES_I
  19.     INCLUDE "exec/libraries.i"
  20.     ENDC
  21.  
  22.     IFND UTILITY_TAGITEM_I
  23.     INCLUDE "utility/tagitem.i"
  24.     ENDC
  25.  
  26.     IFND LIBRARIES_GADTOOLS_I
  27.     INCLUDE "libraries/gadtools.i"
  28.     ENDC
  29.  
  30. GUIFRONTNAME    MACRO
  31.                 dc.b    'guifront.library',0
  32.                 ENDM
  33. GUIFRONTVERSION    EQU 37
  34.  
  35. * Tags for CreateGUIAppA()
  36.  
  37. GFA_Author                EQU    TAG_USER    ; Author of software (70 chars max)
  38. GFA_Date                EQU TAG_USER+1    ; Date of release (14 chars max)
  39. GFA_LongDesc            EQU TAG_USER+2    ; Longer description (70 chars max)
  40. GFA_Version                EQU TAG_USER+2    ; Version information (20 chars max)
  41. GFA_VisualUpdateSigTask EQU TAG_USER+3    ; Task to signal when prefs change (defaults to FindTask(0))
  42. GFA_VisualUpdateSigBit  EQU TAG_USER+4    ; Signal to send task when prefs change
  43.  
  44. * Tags for CreateGUIA()
  45.  
  46. GUI_InitialOrientation    EQU TAG_USER
  47. GUI_InitialSpacing        EQU TAG_USER+1
  48. GUI_LocaleFunc            EQU TAG_USER+2
  49. GUI_ExtendedError        EQU TAG_USER+3
  50. GUI_UserData            EQU TAG_USER+4
  51. GUI_OpenGUI                EQU TAG_USER+5
  52. GUI_ExtraIDCMP            EQU TAG_USER+6
  53. GUI_WindowTitle            EQU TAG_USER+7
  54. GUI_Window                EQU TAG_USER+8        ; Read-only
  55. GUI_Backfill            EQU TAG_USER+9        ; Please backfill this window
  56. GUI_NewMenu                EQU TAG_USER+10
  57. GUI_NewMenuLoc            EQU TAG_USER+11
  58. GUI_MenuStrip            EQU TAG_USER+12        ; Read-only
  59. GUI_ActualFont            EQU TAG_USER+13        ; Read-only
  60. GUI_ScreenTitle            EQU TAG_USER+14
  61. GUI_LeftEdge            EQU TAG_USER+15
  62. GUI_TopEdge                EQU TAG_USER+16
  63. GUI_Help                EQU TAG_USER+17        ; Not currently implemented
  64.  
  65. * Extended error report codes from CreateGUIA() (via GUI_ExtendedError)
  66.  
  67. GFERR_UNKNOWN                    EQU 100            ; Unknown error
  68. GFERR_NOT_ENOUGH_MEMORY            EQU 100+1
  69. GFERR_MISSING_LOCALIZER            EQU 100+2        ; Found GS_LocaleFunc but no GUI_Localizer
  70. GFERR_GUI_TOO_WIDE                EQU 100+3
  71. GFERR_GUI_TOO_TALL                EQU 100+4
  72. GFERR_CANT_FIND_SCREEN            EQU 100+5        ; Can't find or open required screen
  73. GFERR_MISSING_GADGETSPECARRAY    EQU 100+6        ; GUIL_GadgetSpecID used but no GUI_GadgetSpecArray supplied
  74. GFERR_CANT_FIND_GADGETSPECID    EQU 100+7        ; Unable to locate gadget with this ID
  75. GFERR_UNKNOWN_LAYOUT_TAG        EQU 100+8        ; Layout tag list contains garbage
  76. GFERR_CANT_OPEN_WINDOW            EQU 100+9        ; Unable to open gui (GUI_OpenGUI)
  77. GFERR_CANT_CREATE_MENUS            EQU 100+10        ; Unable to create or layout menus
  78.  
  79.     STRUCTURE ExtErrorData,0
  80.         ULONG ee_ErrorCode
  81.         ULONG ee_ErrorData
  82.         LABEL ee_SIZE
  83.  
  84. * Tags for gadget layout lists
  85.  
  86. GUIL_VertGroup            EQU 1
  87. GUIL_HorizGroup            EQU 2
  88. GUIL_GadgetSpec            EQU 3
  89. GUIL_GadgetSpecID        EQU 4
  90. GUIL_FrameType            EQU 5            ; See below
  91. GUIL_HFrameOffset        EQU 6
  92. GUIL_VFrameOffset        EQU 7
  93. GUIL_Flags                EQU 8            ; See below
  94. GUIL_FrameHeadline        EQU 9
  95. GUIL_FrameHeadlineLoc    EQU 10            ; Localized - will call your localizer function
  96.  
  97. * GUIL_Flags
  98.  
  99. ; Extension methods
  100. GUILF_PropShare            EQU (1<<0)    ; Members maintain their relative size
  101. GUILF_EqualShare        EQU (1<<1)    ; All members forced to equally share all available space
  102. GUILF_EqualSize            EQU (1<<2)    ; All members forced to equal size
  103.  
  104. ; Secondary dimension ajustments
  105. GUILF_EqualWidth        EQU (1<<3)
  106. GUILF_EqualHeight        EQU GUILF_EqualWidth
  107.  
  108. ; Special label layout
  109. GUILF_LabelAlign        EQU (1<<4)
  110.  
  111. * FrameType
  112.  
  113. GUILFT_Normal        EQU    1
  114. GUILFT_Recess        EQU 2
  115. GUILFT_Ridge        EQU 3    ; NeXT style
  116. GUILFT_IconDropBox    EQU 4    ; Not implemented
  117.  
  118. * GadgetSpec
  119.  
  120.     STRUCTURE GadgetSpec,0
  121.         ULONG   gs_Kind
  122.         UWORD   gs_MinWidth
  123.         UWORD   gs_MinHeight
  124.         STRUCT  gs_ng,gng_SIZEOF
  125.         APTR    gs_Tags
  126.         UWORD   gs_Flags            ; See below
  127.         STRUCT  gs_private,5*4        ; Hands off!
  128.         APTR    gs_Gadget            ; Valid when gadget has been created - Read only!
  129.         LABEL   gs_SIZE
  130.  
  131. * gs_Flags
  132.  
  133. GS_NoWidthExtend    EQU (1<<0)        ; Lock hitbox width
  134. GS_NoHeightExtend    EQU (1<<1)        ; Lock hitbox height
  135. GS_Localized        EQU (1<<2)        ; Call localizer with this gadget
  136. GS_BoldLabel        EQU (1<<3)        ; Render label in bold-face
  137. GS_DefaultTags        EQU (1<<4)        ; Supply reasonable default tags
  138.  
  139. * Hook message (GS_LocaleFunc hook)
  140.  
  141.     STRUCTURE LocaleHookMsg,0
  142.         UWORD lhm_Kind                ; What are we trying to localize here?
  143.         ; Your hook should look at the following union (named lhm_Data in the
  144.         ; C include file), localize the item in question (lhm_Kind tells you
  145.         ; which), and return the localized string.
  146.         ULONG lhmd_StringID            ; Fetch this catalog ID, please */
  147.         LABEL lhmd_GadgetSpec        ; Localize this GadgetSpec */
  148.         LABEL lhmd_NewMenu            ; Localize this NewMenu */
  149.         LABEL lhm_SIZE
  150.  
  151. * lhm_Kind
  152.  
  153. LHMK_StringID        EQU 0        ; Obtain generic catalog string
  154. LHMK_GadgetSpec        EQU 1        ; Return localized GadgetSpec string
  155. LHMK_NewMenu        EQU 2        ; Return localized NewMenu string
  156.  
  157. * GUIFront bonus kinds
  158.  
  159. GETALT_KIND            EQU $8000
  160.  
  161. * Gadget creation tags for GETALT_KIND
  162.  
  163. ALT_Image            EQU TAG_USER        ; See below
  164. ALT_AslTags            EQU TAG_USER+1        ; (struct TagItem *) Tag items for ASL requester
  165. ALT_AslRequester    EQU    TAG_USER+2        ; (BOOL) Enable automatic ASL requester
  166. ALT_XenMode            EQU TAG_USER+3        ; Do not use
  167. ALT_FrameColor        EQU TAG_USER+4        ; Do not use
  168.  
  169. * Image types (ALT_Image)
  170.  
  171. ALTI_GetMisc        EQU 0     ; Arrow down with line (get anything)
  172. ALTI_GetDir            EQU 1    ; Folder image (get directory or volume)
  173. ALTI_GetFile        EQU 2    ; Paper image (get a file)
  174. ALTI_GetFont        EQU 3    ; Copy of arrow down image
  175. ALTI_GetScreenMode    EQU 4    ; Copy of arrow down image (not implemented)
  176.  
  177. *** Preferences related stuff ***
  178.  
  179. * Tags for GetPrefAttrA() and SetPrefAttrA()
  180.  
  181. ; Flags */
  182. PRF_GadgetScreenFont        EQU TAG_USER        ; (BOOL)
  183. PRF_FrameScreenFont            EQU TAG_USER+1        ; (BOOL)
  184.  
  185. ; Backfill control magic
  186. PRF_AllowBackfill            EQU TAG_USER+2        ; (BOOL)
  187. PRF_BackfillFGPen            EQU TAG_USER+3        ; (UWORD)
  188. PRF_BackfillBGPen            EQU TAG_USER+4        ; (UWORD)
  189.  
  190. ; Frametype preferences (per supported gadgetkind)
  191. PRF_FrameStyleQuery            EQU TAG_USER+5         ; (FrameStyleQuery *) - see below
  192.  
  193. PRF_XenFrameColor            EQU TAG_USER+6         ; (UWORD)
  194. PRF_GadgetFontYSize            EQU TAG_USER+7         ; (UWORD)
  195. PRF_GadgetFontName            EQU TAG_USER+8         ; (char *) (max 50 chars)
  196. PRF_FrameFontName            EQU TAG_USER+9         ; (char *) (max 50 chars)
  197. PRF_FrameFontYSize            EQU TAG_USER+10     ; (UWORD)
  198. PRF_FrameFontBold            EQU TAG_USER+11     ; (BOOL)
  199. PRF_FrameFontItalics        EQU TAG_USER+12     ; (BOOL)
  200. PRF_FrameFont3D                EQU TAG_USER+13     ; (BOOL)
  201. PRF_FrameFontFGPen            EQU TAG_USER+14     ; (UWORD)
  202. PRF_FrameFontCenter            EQU TAG_USER+15     ; (BOOL)
  203. PRF_FrameFontCentering        EQU TAG_USER+16     ; (see PRFFC_* below)
  204.  
  205. ; Miscellaneous
  206. PRF_SimpleRefresh            EQU TAG_USER+17     ; (BOOL)
  207.  
  208. ; Application Info (READ ONLY!)
  209. PRF_Author                    EQU TAG_USER+18     ; (char *) (max 70 chars)
  210. PRF_Date                    EQU TAG_USER+19     ; (char *) (max 14 chars)
  211. PRF_LongDesc                EQU TAG_USER+20     ; (char *) (max 70 chars)
  212. PRF_Version                    EQU TAG_USER+21     ; (char *) (max 20 chars)
  213.  
  214. * Frame headline centering
  215.  
  216. PRFFC_Left        EQU 0            ; Left aligned
  217. PRFFC_Center    EQU 1            ; Centered
  218. PRFFC_Right        EQU 2            ; Right aligned
  219.  
  220.     STRUCTURE FrameStyleQuery,0
  221.         ULONG fsq_GadgetKind            ; As passed to CreateGadgetA()
  222.         BOOL  fsq_Xen                    ; TRUE: Xen, FALSE: Normal
  223.         LABEL fsq_SIZE
  224.  
  225. * Tags for GF_GetGUIAppAttrA()/GF_SetGUIAppAttrA()
  226.  
  227. GUIA_WindowPort        EQU TAG_USER        ; Read only
  228. GUIA_UserData        EQU TAG_USER+1        ; Free for application use
  229.  
  230.     ENDC
  231.